package com.shanyu.wechat.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.shanyu.wechat.entity.*;
import com.shanyu.wechat.service.JianDaoYunService;
import com.shanyu.wechat.service.MessageEntityService;
import com.shanyu.wechat.service.ProjectEntityService;
import com.shanyu.wechat.service.WechatUserService;
import com.shanyu.wechat.util.JianDaoYunUtil;
import com.shanyu.wechat.util.JsonUtils;
import com.shanyu.wechat.util.ParameterUtils;
import com.shanyu.wechat.util.SummaryWordsExtractor;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import reactor.core.publisher.Mono;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;

import static reactor.core.publisher.Mono.just;

/**
 * author: wangsixian
 */
@RestController
@RequiredArgsConstructor
public class MessageController {

    private final MessageEntityService service;
    private final ProjectEntityService projectService;
    private final RestTemplate restTemplate = new RestTemplate();
    private final WechatUserService wechatUserService;
    private final JianDaoYunService jianDaoYunService;

    Gson gson = new Gson();


//    public static final String roomName = "18406031474@chatroom";
    public static final String roomName = "17439329741@chatroom";

    @RequestMapping("/")
    public String index() {
        return "service is running";
    }

    @RequestMapping("/receive")
    public String receive(@RequestBody String str) {
        System.out.println("receive data .........");
        System.out.println(str);
        MessageEntity messageEntity = gson.fromJson(str, MessageEntity.class);
        MessageEntity.MessageData newMessageData = messageEntity.getData();

        if (StringUtils.equals(roomName, messageEntity.getData().getFromGroup()) &&  !StringUtils.equals(roomName,newMessageData.getToUser())) {
            //保存
            System.out.println("==============================满足条件开始保存");
            service.save(messageEntity);

            String content = newMessageData.getContent();


            if (StringUtils.contains(content, "收到") ) {

                MessageEntity lastMessage = service.getLastMessage(newMessageData.getFromGroup());


                String shoudaoMsgFromUser = newMessageData.getFromUser();
                WeChatUserEntity shoudaoMsgFromUserEntity = wechatUserService.getOne(new QueryWrapper<WeChatUserEntity>().eq("wechat", shoudaoMsgFromUser));

                String faqiren = lastMessage.getData().getFromUser();
                WeChatUserEntity faqirenEntity = wechatUserService.getOne(new QueryWrapper<WeChatUserEntity>().eq("wechat", faqiren));


                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");

                JianDaoYunEntity jianDaoYunEntity = SummaryWordsExtractor.parseJianDaoYun(lastMessage.getData().getContent());
                jianDaoYunEntity
                        .setMessage(lastMessage.getData().getContent())
                        .setReceiveTime(sdf.format(new Date(Long.valueOf(lastMessage.getData().getTimestamp()) * 1000)))
                        .setToUser(shoudaoMsgFromUserEntity == null ? "" : shoudaoMsgFromUserEntity.getAccount())
                        .setFromUser(faqirenEntity == null ? "" : faqirenEntity.getAccount())
                        .setSendShouDao(newMessageData.getFromUser())
                        .setSendMsg(lastMessage.getData().getFromUser());

                if (shoudaoMsgFromUserEntity == null || faqirenEntity == null) {
                    jianDaoYunEntity.setIsMatch(0);
                } else {
                    jianDaoYunEntity.setIsMatch(1);
                }
                jianDaoYunService.save(jianDaoYunEntity);

                //发送简道云
                JianDaoYunUtil.sendFlow(jianDaoYunEntity);
            }

        }
//
//        if (StringUtils.equals("18406031474@chatroom",newMessageData.getFromGroup()) && StringUtils.contains(content,"-")){
//            String[] array = content.split("-");
//            JianDaoYunUtil.send(array[0],array[1]);
//        }


        return "success";
    }

    @RequestMapping("/receiveYouQiuGuan")
    public String receiveYouQiuGuan(@RequestBody String str) {
        System.out.println("receive data .........");
        System.out.println(str);
        MessageEntity messageEntity = gson.fromJson(str, MessageEntity.class);

        if (StringUtils.equals("18406031474@chatroom", messageEntity.getData().getFromGroup())) {
            //保存
            service.save(messageEntity);
        }

        System.out.println("------------------");
        MessageEntity.MessageData newMessageData = messageEntity.getData();
        String content = newMessageData.getContent();
        System.out.println(content);

        if (StringUtils.contains(content, "收到")) {
            MessageEntity lastMessage = service.getLastMessage(newMessageData.getFromGroup());

            ProjectEntity project = SummaryWordsExtractor.parse(lastMessage.getData().getContent(), newMessageData.getFromUser());
//            ProjectEntity project = ParseProjectUtils.parse(newMessageData.getContent());
            if (project != null) {
                projectService.save(project);
            }
        }

        if (StringUtils.equals("18406031474@chatroom", newMessageData.getFromGroup()) && StringUtils.contains(content, "-")) {
            String[] array = content.split("-");
            JianDaoYunUtil.send(array[0], array[1]);
        }


        return "success";
    }

    @RequestMapping("/list")
    public Mono<Result<IPage<MessageEntity>>> queryPageList(@RequestBody Map<String, Object> params) {
        IPage<MessageEntity> pageList = service.getPage(ParameterUtils.getPage(params), params);
        return just(Result.OK(pageList));
    }

    @RequestMapping("/a")
    public Object a() {
        MessageEntity lastMessage = service.getLastMessage("18406031474@chatroom");
        ProjectEntity project = SummaryWordsExtractor.parse(lastMessage.getData().getContent(), "aaa");
        return just(project);
    }

    @RequestMapping("/b")
    public Object b() {
        List<WeChatUserEntity> list = wechatUserService.list();
        return just(list);
    }

    @RequestMapping("/c")
    public Object c() {
        String msg = "甘肃金昌用管询价18693098888，梁总";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
        JianDaoYunEntity jianDaoYunEntity = SummaryWordsExtractor.parseJianDaoYun(msg);
        jianDaoYunEntity
                .setMessage(msg)
                .setReceiveTime(sdf.format(new Date(Long.parseLong("1620723528") * 1000)))
                .setToUser("")
                .setFromUser("")
                .setSendShouDao("GOGO_Rex_007")
                .setSendMsg("GOGO_Rex_007");


        jianDaoYunService.save(jianDaoYunEntity.setIsMatch(1));

        //发送简道云
        JianDaoYunUtil.sendFlow(jianDaoYunEntity);
        return "success";
    }

    @RequestMapping("/downloadFile")
    public Object downloadFile(Long id) {
        MessageEntity msg = service.getById(id);
        String str = JsonUtils.toJson(msg.getData());

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
        headers.add("Authorization", "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxODI1NTM4NjkxOCJ9.URE_Da1U1O7Jqehq6lncK_xmAHQslkeuPMoBN7AQbyleEvrssd1MWT67rXemZrx1QGZ_vPHCJuimDhMffGXLlA");
//        HttpEntity<String> requestParam = new HttpEntity<String>("{\"content\":\"\\u003c?xml version\\u003d\\\"1.0\\\"?\\u003e\\n\\u003cmsg\\u003e\\n\\t\\u003cappmsg appid\\u003d\\\"\\\" sdkver\\u003d\\\"0\\\"\\u003e\\n\\t\\t\\u003ctitle\\u003e推荐系统(1).doc\\u003c/title\\u003e\\n\\t\\t\\u003cdes\\u003e2.4 MB\\u003c/des\\u003e\\n\\t\\t\\u003cusername /\\u003e\\n\\t\\t\\u003caction\\u003eview\\u003c/action\\u003e\\n\\t\\t\\u003ctype\\u003e6\\u003c/type\\u003e\\n\\t\\t\\u003cshowtype\\u003e0\\u003c/showtype\\u003e\\n\\t\\t\\u003ccontent /\\u003e\\n\\t\\t\\u003curl /\\u003e\\n\\t\\t\\u003clowurl /\\u003e\\n\\t\\t\\u003cdataurl /\\u003e\\n\\t\\t\\u003clowdataurl /\\u003e\\n\\t\\t\\u003ccontentattr\\u003e0\\u003c/contentattr\\u003e\\n\\t\\t\\u003cstreamvideo\\u003e\\n\\t\\t\\t\\u003cstreamvideourl /\\u003e\\n\\t\\t\\t\\u003cstreamvideototaltime\\u003e0\\u003c/streamvideototaltime\\u003e\\n\\t\\t\\t\\u003cstreamvideotitle /\\u003e\\n\\t\\t\\t\\u003cstreamvideowording /\\u003e\\n\\t\\t\\t\\u003cstreamvideoweburl /\\u003e\\n\\t\\t\\t\\u003cstreamvideothumburl /\\u003e\\n\\t\\t\\t\\u003cstreamvideoaduxinfo /\\u003e\\n\\t\\t\\t\\u003cstreamvideopublishid /\\u003e\\n\\t\\t\\u003c/streamvideo\\u003e\\n\\t\\t\\u003ccanvasPageItem\\u003e\\n\\t\\t\\t\\u003ccanvasPageXml\\u003e\\u003c![CDATA[]]\\u003e\\u003c/canvasPageXml\\u003e\\n\\t\\t\\u003c/canvasPageItem\\u003e\\n\\t\\t\\u003cappattach\\u003e\\n\\t\\t\\t\\u003cattachid\\u003e@cdn_308183020100047730750201000204a2f9373a02032f56c3020463570d70020460992a1c04506175706174746163685f333038373363316465646565396562325f313632303635303532343239375f33385f36366639303237352d313935612d343031612d386536322d6564323864383934326462360204010400050201000405004c54a300_d2575159337eb6e6fb421166d299600d_1\\u003c/attachid\\u003e\\n\\t\\t\\t\\u003ccdnattachurl\\u003e308183020100047730750201000204a2f9373a02032f56c3020463570d70020460992a1c04506175706174746163685f333038373363316465646565396562325f313632303635303532343239375f33385f36366639303237352d313935612d343031612d386536322d6564323864383934326462360204010400050201000405004c54a300\\u003c/cdnattachurl\\u003e\\n\\t\\t\\t\\u003ctotallen\\u003e2504301\\u003c/totallen\\u003e\\n\\t\\t\\t\\u003caeskey\\u003ed2575159337eb6e6fb421166d299600d\\u003c/aeskey\\u003e\\n\\t\\t\\t\\u003cencryver\\u003e1\\u003c/encryver\\u003e\\n\\t\\t\\t\\u003cfileext\\u003edoc\\u003c/fileext\\u003e\\n\\t\\t\\t\\u003cislargefilemsg\\u003e0\\u003c/islargefilemsg\\u003e\\n\\t\\t\\t\\u003coverwrite_newmsgid\\u003e6131395310071559575\\u003c/overwrite_newmsgid\\u003e\\n\\t\\t\\t\\u003cfileuploadtoken\\u003e\\u003c![CDATA[v1_eF1S6VgSqt/bM+9GhJz4UmaiJ/fwlbTBZmDjgCjK5dtZFEei2kFpbeOFHoxBeZ312WY/4AXjvHbmBuJLNt8lxG3+ZeOLE0V/ccXhEy3zl6IPjMke3aCTE7yh3EmEYffJUY2UU2WRLeN277eoi/nQSqbFItcAUb3+bPW4MUhkQcrf+UdIxURRZLeWndTyWgSpndw\\u003d]]\\u003e\\u003c/fileuploadtoken\\u003e\\n\\t\\t\\u003c/appattach\\u003e\\n\\t\\t\\u003cextinfo /\\u003e\\n\\t\\t\\u003candroidsource\\u003e3\\u003c/androidsource\\u003e\\n\\t\\t\\u003cthumburl /\\u003e\\n\\t\\t\\u003cmediatagname /\\u003e\\n\\t\\t\\u003cmessageaction\\u003e\\u003c![CDATA[]]\\u003e\\u003c/messageaction\\u003e\\n\\t\\t\\u003cmessageext\\u003e\\u003c![CDATA[]]\\u003e\\u003c/messageext\\u003e\\n\\t\\t\\u003cemoticongift\\u003e\\n\\t\\t\\t\\u003cpackageflag\\u003e0\\u003c/packageflag\\u003e\\n\\t\\t\\t\\u003cpackageid /\\u003e\\n\\t\\t\\u003c/emoticongift\\u003e\\n\\t\\t\\u003cemoticonshared\\u003e\\n\\t\\t\\t\\u003cpackageflag\\u003e0\\u003c/packageflag\\u003e\\n\\t\\t\\t\\u003cpackageid /\\u003e\\n\\t\\t\\u003c/emoticonshared\\u003e\\n\\t\\t\\u003cdesignershared\\u003e\\n\\t\\t\\t\\u003cdesigneruin\\u003e0\\u003c/designeruin\\u003e\\n\\t\\t\\t\\u003cdesignername\\u003enull\\u003c/designername\\u003e\\n\\t\\t\\t\\u003cdesignerrediretcturl\\u003enull\\u003c/designerrediretcturl\\u003e\\n\\t\\t\\u003c/designershared\\u003e\\n\\t\\t\\u003cemotionpageshared\\u003e\\n\\t\\t\\t\\u003ctid\\u003e0\\u003c/tid\\u003e\\n\\t\\t\\t\\u003ctitle\\u003enull\\u003c/title\\u003e\\n\\t\\t\\t\\u003cdesc\\u003enull\\u003c/desc\\u003e\\n\\t\\t\\t\\u003ciconUrl\\u003enull\\u003c/iconUrl\\u003e\\n\\t\\t\\t\\u003csecondUrl\\u003enull\\u003c/secondUrl\\u003e\\n\\t\\t\\t\\u003cpageType\\u003e0\\u003c/pageType\\u003e\\n\\t\\t\\u003c/emotionpageshared\\u003e\\n\\t\\t\\u003cwebviewshared\\u003e\\n\\t\\t\\t\\u003cshareUrlOriginal /\\u003e\\n\\t\\t\\t\\u003cshareUrlOpen /\\u003e\\n\\t\\t\\t\\u003cjsAppId /\\u003e\\n\\t\\t\\t\\u003cpublisherId /\\u003e\\n\\t\\t\\u003c/webviewshared\\u003e\\n\\t\\t\\u003ctemplate_id /\\u003e\\n\\t\\t\\u003cmd5\\u003ef3e82c190714be760c395cb7f2789d58\\u003c/md5\\u003e\\n\\t\\t\\u003cweappinfo\\u003e\\n\\t\\t\\t\\u003cusername /\\u003e\\n\\t\\t\\t\\u003cappid /\\u003e\\n\\t\\t\\t\\u003cappservicetype\\u003e0\\u003c/appservicetype\\u003e\\n\\t\\t\\t\\u003cvideopageinfo\\u003e\\n\\t\\t\\t\\t\\u003cthumbwidth\\u003e-1\\u003c/thumbwidth\\u003e\\n\\t\\t\\t\\t\\u003cthumbheight\\u003e-1\\u003c/thumbheight\\u003e\\n\\t\\t\\t\\t\\u003cfromopensdk\\u003e0\\u003c/fromopensdk\\u003e\\n\\t\\t\\t\\u003c/videopageinfo\\u003e\\n\\t\\t\\u003c/weappinfo\\u003e\\n\\t\\t\\u003cstatextstr /\\u003e\\n\\t\\t\\u003cmusicShareItem\\u003e\\n\\t\\t\\t\\u003cmusicDuration\\u003e0\\u003c/musicDuration\\u003e\\n\\t\\t\\u003c/musicShareItem\\u003e\\n\\t\\t\\u003cfindernamecard\\u003e\\n\\t\\t\\t\\u003cusername /\\u003e\\n\\t\\t\\t\\u003cavatar\\u003e\\u003c![CDATA[]]\\u003e\\u003c/avatar\\u003e\\n\\t\\t\\t\\u003cnickname /\\u003e\\n\\t\\t\\t\\u003cauth_job /\\u003e\\n\\t\\t\\t\\u003cauth_icon\\u003e0\\u003c/auth_icon\\u003e\\n\\t\\t\\t\\u003cauth_icon_url /\\u003e\\n\\t\\t\\u003c/findernamecard\\u003e\\n\\t\\t\\u003cfinderEndorsement\\u003e\\n\\t\\t\\t\\u003cscene\\u003e\\u003c![CDATA[0]]\\u003e\\u003c/scene\\u003e\\n\\t\\t\\u003c/finderEndorsement\\u003e\\n\\t\\t\\u003cdirectshare\\u003e0\\u003c/directshare\\u003e\\n\\t\\t\\u003cgamecenter\\u003e\\n\\t\\t\\t\\u003cnamecard\\u003e\\n\\t\\t\\t\\t\\u003ciconUrl /\\u003e\\n\\t\\t\\t\\t\\u003cname /\\u003e\\n\\t\\t\\t\\t\\u003cdesc /\\u003e\\n\\t\\t\\t\\t\\u003ctail /\\u003e\\n\\t\\t\\t\\t\\u003cjumpUrl /\\u003e\\n\\t\\t\\t\\u003c/namecard\\u003e\\n\\t\\t\\u003c/gamecenter\\u003e\\n\\t\\t\\u003cpatMsg\\u003e\\n\\t\\t\\t\\u003cchatUser /\\u003e\\n\\t\\t\\t\\u003crecords\\u003e\\n\\t\\t\\t\\t\\u003crecordNum\\u003e0\\u003c/recordNum\\u003e\\n\\t\\t\\t\\u003c/records\\u003e\\n\\t\\t\\u003c/patMsg\\u003e\\n\\t\\t\\u003cwebsearch\\u003e\\n\\t\\t\\t\\u003crec_category\\u003e0\\u003c/rec_category\\u003e\\n\\t\\t\\t\\u003cchannelId\\u003e0\\u003c/channelId\\u003e\\n\\t\\t\\u003c/websearch\\u003e\\n\\t\\u003c/appmsg\\u003e\\n\\t\\u003cfromusername\\u003eGoGo_Rex007\\u003c/fromusername\\u003e\\n\\t\\u003cscene\\u003e0\\u003c/scene\\u003e\\n\\t\\u003cappinfo\\u003e\\n\\t\\t\\u003cversion\\u003e1\\u003c/version\\u003e\\n\\t\\t\\u003cappname\\u003e\\u003c/appname\\u003e\\n\\t\\u003c/appinfo\\u003e\\n\\t\\u003ccommenturl\\u003e\\u003c/commenturl\\u003e\\n\\u003c/msg\\u003e\\n\",\"fromUser\":\"GoGo_Rex007\",\"msgId\":1140619374,\"msgSource\":\"\\u003cmsgsource /\\u003e\\n\",\"msgType\":49,\"newMsgId\":3361158705007117005,\"self\":false,\"timestamp\":1620699300,\"toUser\":\"GoGo_Rex007\",\"wId\":\"0620937e-81ed-47aa-bb42-511a92ea5b7e\"}", headers);
        System.out.println(gson.toJson(msg.getData()));
        HttpEntity<String> requestParam = new HttpEntity<String>(gson.toJson(msg.getData()), headers);
        String res = restTemplate.postForEntity("http://81.71.124.134:9899/getMsgFile", requestParam, String.class).getBody();
        System.out.println(res);
        return res;
//        System.out.println(HttpUtil.post("http://81.71.124.134:9899/getMsgFile", "{\"content\":\"\\u003c?xml version\\u003d\\\"1.0\\\"?\\u003e\\n\\u003cmsg\\u003e\\n\\t\\u003cappmsg appid\\u003d\\\"\\\" sdkver\\u003d\\\"0\\\"\\u003e\\n\\t\\t\\u003ctitle\\u003e推荐系统(1).doc\\u003c/title\\u003e\\n\\t\\t\\u003cdes\\u003e2.4 MB\\u003c/des\\u003e\\n\\t\\t\\u003cusername /\\u003e\\n\\t\\t\\u003caction\\u003eview\\u003c/action\\u003e\\n\\t\\t\\u003ctype\\u003e6\\u003c/type\\u003e\\n\\t\\t\\u003cshowtype\\u003e0\\u003c/showtype\\u003e\\n\\t\\t\\u003ccontent /\\u003e\\n\\t\\t\\u003curl /\\u003e\\n\\t\\t\\u003clowurl /\\u003e\\n\\t\\t\\u003cdataurl /\\u003e\\n\\t\\t\\u003clowdataurl /\\u003e\\n\\t\\t\\u003ccontentattr\\u003e0\\u003c/contentattr\\u003e\\n\\t\\t\\u003cstreamvideo\\u003e\\n\\t\\t\\t\\u003cstreamvideourl /\\u003e\\n\\t\\t\\t\\u003cstreamvideototaltime\\u003e0\\u003c/streamvideototaltime\\u003e\\n\\t\\t\\t\\u003cstreamvideotitle /\\u003e\\n\\t\\t\\t\\u003cstreamvideowording /\\u003e\\n\\t\\t\\t\\u003cstreamvideoweburl /\\u003e\\n\\t\\t\\t\\u003cstreamvideothumburl /\\u003e\\n\\t\\t\\t\\u003cstreamvideoaduxinfo /\\u003e\\n\\t\\t\\t\\u003cstreamvideopublishid /\\u003e\\n\\t\\t\\u003c/streamvideo\\u003e\\n\\t\\t\\u003ccanvasPageItem\\u003e\\n\\t\\t\\t\\u003ccanvasPageXml\\u003e\\u003c![CDATA[]]\\u003e\\u003c/canvasPageXml\\u003e\\n\\t\\t\\u003c/canvasPageItem\\u003e\\n\\t\\t\\u003cappattach\\u003e\\n\\t\\t\\t\\u003cattachid\\u003e@cdn_308183020100047730750201000204a2f9373a02032f56c3020463570d70020460992a1c04506175706174746163685f333038373363316465646565396562325f313632303635303532343239375f33385f36366639303237352d313935612d343031612d386536322d6564323864383934326462360204010400050201000405004c54a300_d2575159337eb6e6fb421166d299600d_1\\u003c/attachid\\u003e\\n\\t\\t\\t\\u003ccdnattachurl\\u003e308183020100047730750201000204a2f9373a02032f56c3020463570d70020460992a1c04506175706174746163685f333038373363316465646565396562325f313632303635303532343239375f33385f36366639303237352d313935612d343031612d386536322d6564323864383934326462360204010400050201000405004c54a300\\u003c/cdnattachurl\\u003e\\n\\t\\t\\t\\u003ctotallen\\u003e2504301\\u003c/totallen\\u003e\\n\\t\\t\\t\\u003caeskey\\u003ed2575159337eb6e6fb421166d299600d\\u003c/aeskey\\u003e\\n\\t\\t\\t\\u003cencryver\\u003e1\\u003c/encryver\\u003e\\n\\t\\t\\t\\u003cfileext\\u003edoc\\u003c/fileext\\u003e\\n\\t\\t\\t\\u003cislargefilemsg\\u003e0\\u003c/islargefilemsg\\u003e\\n\\t\\t\\t\\u003coverwrite_newmsgid\\u003e6131395310071559575\\u003c/overwrite_newmsgid\\u003e\\n\\t\\t\\t\\u003cfileuploadtoken\\u003e\\u003c![CDATA[v1_eF1S6VgSqt/bM+9GhJz4UmaiJ/fwlbTBZmDjgCjK5dtZFEei2kFpbeOFHoxBeZ312WY/4AXjvHbmBuJLNt8lxG3+ZeOLE0V/ccXhEy3zl6IPjMke3aCTE7yh3EmEYffJUY2UU2WRLeN277eoi/nQSqbFItcAUb3+bPW4MUhkQcrf+UdIxURRZLeWndTyWgSpndw\\u003d]]\\u003e\\u003c/fileuploadtoken\\u003e\\n\\t\\t\\u003c/appattach\\u003e\\n\\t\\t\\u003cextinfo /\\u003e\\n\\t\\t\\u003candroidsource\\u003e3\\u003c/androidsource\\u003e\\n\\t\\t\\u003cthumburl /\\u003e\\n\\t\\t\\u003cmediatagname /\\u003e\\n\\t\\t\\u003cmessageaction\\u003e\\u003c![CDATA[]]\\u003e\\u003c/messageaction\\u003e\\n\\t\\t\\u003cmessageext\\u003e\\u003c![CDATA[]]\\u003e\\u003c/messageext\\u003e\\n\\t\\t\\u003cemoticongift\\u003e\\n\\t\\t\\t\\u003cpackageflag\\u003e0\\u003c/packageflag\\u003e\\n\\t\\t\\t\\u003cpackageid /\\u003e\\n\\t\\t\\u003c/emoticongift\\u003e\\n\\t\\t\\u003cemoticonshared\\u003e\\n\\t\\t\\t\\u003cpackageflag\\u003e0\\u003c/packageflag\\u003e\\n\\t\\t\\t\\u003cpackageid /\\u003e\\n\\t\\t\\u003c/emoticonshared\\u003e\\n\\t\\t\\u003cdesignershared\\u003e\\n\\t\\t\\t\\u003cdesigneruin\\u003e0\\u003c/designeruin\\u003e\\n\\t\\t\\t\\u003cdesignername\\u003enull\\u003c/designername\\u003e\\n\\t\\t\\t\\u003cdesignerrediretcturl\\u003enull\\u003c/designerrediretcturl\\u003e\\n\\t\\t\\u003c/designershared\\u003e\\n\\t\\t\\u003cemotionpageshared\\u003e\\n\\t\\t\\t\\u003ctid\\u003e0\\u003c/tid\\u003e\\n\\t\\t\\t\\u003ctitle\\u003enull\\u003c/title\\u003e\\n\\t\\t\\t\\u003cdesc\\u003enull\\u003c/desc\\u003e\\n\\t\\t\\t\\u003ciconUrl\\u003enull\\u003c/iconUrl\\u003e\\n\\t\\t\\t\\u003csecondUrl\\u003enull\\u003c/secondUrl\\u003e\\n\\t\\t\\t\\u003cpageType\\u003e0\\u003c/pageType\\u003e\\n\\t\\t\\u003c/emotionpageshared\\u003e\\n\\t\\t\\u003cwebviewshared\\u003e\\n\\t\\t\\t\\u003cshareUrlOriginal /\\u003e\\n\\t\\t\\t\\u003cshareUrlOpen /\\u003e\\n\\t\\t\\t\\u003cjsAppId /\\u003e\\n\\t\\t\\t\\u003cpublisherId /\\u003e\\n\\t\\t\\u003c/webviewshared\\u003e\\n\\t\\t\\u003ctemplate_id /\\u003e\\n\\t\\t\\u003cmd5\\u003ef3e82c190714be760c395cb7f2789d58\\u003c/md5\\u003e\\n\\t\\t\\u003cweappinfo\\u003e\\n\\t\\t\\t\\u003cusername /\\u003e\\n\\t\\t\\t\\u003cappid /\\u003e\\n\\t\\t\\t\\u003cappservicetype\\u003e0\\u003c/appservicetype\\u003e\\n\\t\\t\\t\\u003cvideopageinfo\\u003e\\n\\t\\t\\t\\t\\u003cthumbwidth\\u003e-1\\u003c/thumbwidth\\u003e\\n\\t\\t\\t\\t\\u003cthumbheight\\u003e-1\\u003c/thumbheight\\u003e\\n\\t\\t\\t\\t\\u003cfromopensdk\\u003e0\\u003c/fromopensdk\\u003e\\n\\t\\t\\t\\u003c/videopageinfo\\u003e\\n\\t\\t\\u003c/weappinfo\\u003e\\n\\t\\t\\u003cstatextstr /\\u003e\\n\\t\\t\\u003cmusicShareItem\\u003e\\n\\t\\t\\t\\u003cmusicDuration\\u003e0\\u003c/musicDuration\\u003e\\n\\t\\t\\u003c/musicShareItem\\u003e\\n\\t\\t\\u003cfindernamecard\\u003e\\n\\t\\t\\t\\u003cusername /\\u003e\\n\\t\\t\\t\\u003cavatar\\u003e\\u003c![CDATA[]]\\u003e\\u003c/avatar\\u003e\\n\\t\\t\\t\\u003cnickname /\\u003e\\n\\t\\t\\t\\u003cauth_job /\\u003e\\n\\t\\t\\t\\u003cauth_icon\\u003e0\\u003c/auth_icon\\u003e\\n\\t\\t\\t\\u003cauth_icon_url /\\u003e\\n\\t\\t\\u003c/findernamecard\\u003e\\n\\t\\t\\u003cfinderEndorsement\\u003e\\n\\t\\t\\t\\u003cscene\\u003e\\u003c![CDATA[0]]\\u003e\\u003c/scene\\u003e\\n\\t\\t\\u003c/finderEndorsement\\u003e\\n\\t\\t\\u003cdirectshare\\u003e0\\u003c/directshare\\u003e\\n\\t\\t\\u003cgamecenter\\u003e\\n\\t\\t\\t\\u003cnamecard\\u003e\\n\\t\\t\\t\\t\\u003ciconUrl /\\u003e\\n\\t\\t\\t\\t\\u003cname /\\u003e\\n\\t\\t\\t\\t\\u003cdesc /\\u003e\\n\\t\\t\\t\\t\\u003ctail /\\u003e\\n\\t\\t\\t\\t\\u003cjumpUrl /\\u003e\\n\\t\\t\\t\\u003c/namecard\\u003e\\n\\t\\t\\u003c/gamecenter\\u003e\\n\\t\\t\\u003cpatMsg\\u003e\\n\\t\\t\\t\\u003cchatUser /\\u003e\\n\\t\\t\\t\\u003crecords\\u003e\\n\\t\\t\\t\\t\\u003crecordNum\\u003e0\\u003c/recordNum\\u003e\\n\\t\\t\\t\\u003c/records\\u003e\\n\\t\\t\\u003c/patMsg\\u003e\\n\\t\\t\\u003cwebsearch\\u003e\\n\\t\\t\\t\\u003crec_category\\u003e0\\u003c/rec_category\\u003e\\n\\t\\t\\t\\u003cchannelId\\u003e0\\u003c/channelId\\u003e\\n\\t\\t\\u003c/websearch\\u003e\\n\\t\\u003c/appmsg\\u003e\\n\\t\\u003cfromusername\\u003eGoGo_Rex007\\u003c/fromusername\\u003e\\n\\t\\u003cscene\\u003e0\\u003c/scene\\u003e\\n\\t\\u003cappinfo\\u003e\\n\\t\\t\\u003cversion\\u003e1\\u003c/version\\u003e\\n\\t\\t\\u003cappname\\u003e\\u003c/appname\\u003e\\n\\t\\u003c/appinfo\\u003e\\n\\t\\u003ccommenturl\\u003e\\u003c/commenturl\\u003e\\n\\u003c/msg\\u003e\\n\",\"fromUser\":\"GoGo_Rex007\",\"msgId\":1140619374,\"msgSource\":\"\\u003cmsgsource /\\u003e\\n\",\"msgType\":49,\"newMsgId\":3361158705007117005,\"self\":false,\"timestamp\":1620699300,\"toUser\":\"GoGo_Rex007\",\"wId\":\"0620937e-81ed-47aa-bb42-511a92ea5b7e\"}"));
    }
}
